function showMessage(message) {
    hideForm();
    $('.modal-body').html(message);
    
    $('#myModal').modal('show');
    setTimeout(function(){$('#myModal').modal('hide');}, 2700);
}

function hideForm() {
    if($('#subscrEmail').css('background-color') == 'rgb(255, 224, 225)') {
        $('#subscrEmail').css({'border-color':'black', 'background-color':'white'});
    }
    if(userIsGuest) {
        $('#subscrEmail').val('');
    }
    $('#subscrWindow').fadeOut(300);
}

function showForm() {
    if(type != 'partner')
        $('#subscrWindow').center();
    $('#subscrWindow').fadeIn(300);
}

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) + $(window).scrollTop()) + "px");
    this.css("left", Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) + $(window).scrollLeft()) + "px");
    return this;
}

var oldSubscrVal = 'Подписаться';

function signForum() {
    var email = $('#subscrEmail').val();
    var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if(email) {
        if (reg.test(email)) {
            if(type == 'forum') {
                $.get('/ajax/subscribe', 'type='+type+'&typeId='+$('#partnerId').val()+'&email='+email, function(data){
                    if(!data) showMessage('Не поверите, но ваш e-mail уже подписан');
                    else {
                        showMessage('Вы подписаны!');
                        $.get('/ajax/getIsUserGuest', '', function(res){if(!res) {oldSubscrVal = $('.signForum').html(); $('.signForum').html('Отписаться'); $('.signForum').attr('class', 'unsubscr  pull-left');} });
                    }
                });
            }
            else if (type == 'forum_topic') {
                $.get('/ajax/subscribe', 'type='+type+'&typeId='+$('#themeId').val()+'&email='+email, function(data){
                    if(!data) showMessage('Не поверите, но ваш e-mail уже подписан');
                    else {
                        showMessage('Вы подписаны!');
                        $.get('/ajax/getIsUserGuest', '', function(res){if(!res) {oldSubscrVal = $('.signForum').html(); $('.signForum').html('Отписаться'); $('.signForum').attr('class', 'unsubscr pull-left');} });
                    }
                });
            }
            else if(type == 'partner') {
                $.get('/ajax/subscribe', 'type='+type+'&email='+email, function(data){
                    if(!data) showMessage('Не поверите, но ваш e-mail уже подписан');
                    else {
                        showMessage('Вы подписаны!');
                        $.get('/ajax/getIsUserGuest', '', function(res){if(!res) {oldSubscrVal = $('.signForum').html(); $('.signForum').html('Отписаться'); $('.signForum').attr('class', 'unsubscr pull-left');} });
                    }   
                });
            }
        } else {
            $('#subscrEmail').css({'border-color':'red', 'background-color':'#FFE0E1'});
            if( $('#subscrWindow').css('display') != 'block' ) showForm();
        } 
    } else {
        if( $('#subscrWindow').css('display') == 'block' ) {
            $('#subscrWindow').css('top', '0px');
            $('#subscrWindow').fadeOut(300);
            setTimeout(showForm, 300);
        } else showForm();
    }
}

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) + $(window).scrollTop()) + "px");
    this.css("left", Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) + $(window).scrollLeft()) + "px");
    return this;
}

$(document).ready(function() {
    $('.signForum').live('click', function() {
        signForum();
    });
    
    $('#submitSubscrWindow').click(function() {
        signForum(); 
    });
    
    $('.unsubscr').live('click', function() {
        $.get('/ajax/unsubscribeUser', {'type':$(this).attr('data-type'), 'typeId':$(this).attr('data-typeId'), 'userId':$(this).attr('data-userId')}, function(data){if(data) {$('.unsubscr').html(oldSubscrVal); $('.unsubscr').attr('class', 'signForum pull-left'); showMessage('Вы отписались');} });
    });
    
    $('#closeSubscrWindow').click(function() {
        if($('#subscrWindow').css('display') == 'block') {
            hideForm();
            $(window).unbind('scroll');
        } 
    });
});